#include <iostream>
using std::cout;
using std::endl;

//kBase是非类型参数
template <class T = int,int kBase = 10>
T multiply(T t1,T t2)
{
    return t1 * t2 * kBase;
}


void test0(){
    cout << multiply(3,4) << endl;
    cout << multiply<int>(6,7) << endl;

    //指定模板参数时需要按照模板参数列表的顺序来指定
    cout << multiply<int,5>(3,4) << endl;
}

void test1(){
	double d1 = 1.2, d2 = 1.2;
    cout << multiply<int,100>(d1,d2) <<endl;
	cout << multiply<int>(d1,d2) << endl;//类型参数指定为int
	cout << multiply(d1,d2) << endl; //没有使用类型参数的默认值
}

int main(void){
    test1();
    return 0;
}
